package cn.com.surker.system.service;

import cn.com.surker.base.system.entity.SysControlStorage;
import cn.com.surker.base.system.entity.SysLine;
import cn.com.surker.base.system.entity.SysStorage;
import cn.com.surker.dto.system.SysStorageMatchDTO;
import cn.com.surker.material.entity.MainMaterial;
import cn.com.surker.spring.RestResultDto;
import cn.com.surker.system.model.CacheUser;
import cn.com.surker.vo.system.SysStorageMatchVO;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

public interface SysStorageMatchService {

    /**
     * 分页方法
     * @param dto
     * @return
     */
    IPage<SysStorageMatchVO> page(SysStorageMatchDTO dto);

    /**
     * 新增方法
     * @param dto
     * @param user
     * @return
     */
    RestResultDto add(SysStorageMatchDTO dto, CacheUser user);

    /**
     * 更新方法
     * @param dto
     * @param user
     * @return
     */
    RestResultDto edit(SysStorageMatchDTO dto, CacheUser user);

    /**
     * 修改状态
     * @param id
     * @param status
     * @param user
     * @return
     */
    RestResultDto editStatus(Long id,Integer status, CacheUser user);

    /**
     * 根据公司标识查询erp仓位表
     * @param orgId
     * @return
     */
    List<SysStorage> getStorageList(Long orgId,Long lineId);

    /**
     * 根据公司标识查询材料数据
     * @param orgId
     * @return
     */
    List<MainMaterial> getMainMaterialList(Long orgId, Integer storeType, Long materialId);

    /**
     * 根据公司获取工控仓位数据
     * @param orgId
     * @return
     */
    List<SysControlStorage> getControlStorageList(Long orgId, Long lineId);

    /**
     * 根据公司获取生产线数据
     * @param orgId
     * @return
     */
    List<SysLine> getLineList(Long orgId);

}
